import math


def advanced_calculator():
    print("高级 Python 计算器")
    print("支持的操作：")
    print("+ : 加法")
    print("- : 减法")
    print("* : 乘法")
    print("/ : 除法")
    print("^ : 幂运算")
    print("sqrt : 平方根")
    print("sin, cos, tan : 三角函数")
    print("输入 'quit' 退出程序")

    while True:
        try:
            expression = input("\n请输入表达式: ").strip()

            if expression.lower() == 'quit':
                print("感谢使用计算器，再见！")
                break

            # 安全地评估表达式
            result = eval(expression, {"__builtins__": None}, {
                "sin": math.sin,
                "cos": math.cos,
                "tan": math.tan,
                "sqrt": math.sqrt,
                "pi": math.pi,
                "e": math.e
            })

            print(f"结果: {result}")

        except ZeroDivisionError:
            print("错误：除数不能为零")
        except ValueError as e:
            print(f"数学错误: {e}")
        except SyntaxError:
            print("错误：表达式语法不正确")
        except NameError:
            print("错误：使用了不支持的函数或变量")
        except Exception as e:
            print(f"发生错误: {e}")


# 运行高级计算器
if __name__ == "__main__":
    advanced_calculator()